package cn.isjinhao.se.sql.grammar.statement.retrieve.visitor;

import cn.isjinhao.se.sql.grammar.ErrorReportableCurdStatementVisitor;
import cn.isjinhao.se.sql.grammar.statement.AssignmentList;
import cn.isjinhao.se.sql.grammar.statement.create.represention.*;
import cn.isjinhao.se.sql.grammar.statement.delete.represention.Delete;
import cn.isjinhao.se.sql.grammar.statement.update.represention.Update;

/**
 * @Author ISJINHAO
 * @Date 2021/4/5 20:52
 */
public abstract class SelectVisitor<R> extends ErrorReportableCurdStatementVisitor<R> {

    @Override
    public final R visitInsertSelectRep(InsertSelectRep insertSelectRep) {
        throw new UnsupportedOperationException();
    }

    @Override
    public final R visitValuesRep(ValuesRep valuesRep) {
        throw new UnsupportedOperationException();
    }

    @Override
    public final R visitInsert(Insert insert) {
        throw new UnsupportedOperationException();
    }

    @Override
    public final R visitInsertSetRep(InsertSetRep insertSetRep) {
        throw new UnsupportedOperationException();
    }

    @Override
    public final R visitAssignmentList(AssignmentList assignmentList) {
        throw new UnsupportedOperationException();
    }

    @Override
    public final R visitOnDuplicateKey(OnDuplicateKey onDuplicateKey) {
        throw new UnsupportedOperationException();
    }

    @Override
    public final R visitUpdate(Update update) {
        throw new UnsupportedOperationException();
    }

    @Override
    public R visitDelete(Delete delete) {
        throw new UnsupportedOperationException();
    }
}
